package alp.starcode.nudtportal.framework.constant;

/**
 * 系统常量表
 *
 * @author lw
 */
public interface ProjectConst extends CodeConst {


    /**
     * 角色模块相关信息
     */
    String ROLE_MODULE_KEY = "nudt-portal::roleModuleMap";


    /**
     * 是否为本人账号-Y
     */
    String USER_PREFIX = "nudt-portal::nudt_portal_";

    /**
     * 是否为本人账号-Y
     */
    String PERSONAL_ACCOUNT_Y = "Y";

    /**
     * 登录类型-小程序/支付宝
     */
    String LOGIN_TYPE_KEY = "login_type";
    /**
     * code-小程序/支付宝
     */
    String AUTH_CODE_KEY = "auth_code";
    /**
     * 字典类型-钱包类型
     */
    String DICT_TYPE_WALLET_TYPE = "wallet_type";

    /**
     * 字典类型-交易类型
     */
    String DICT_TRANSACTION_TYPE = "transaction_type";

    /**
     * 字典类型-流水订阅时长配置
     */
    String SYS_SUBSCRIPTION_TYPE = "SYS_SUBSCRIPTION_TYPE";
    /**
     * 字典类型-可充值开始时间
     */
    String DICT_RECHARGE_START_TIME_LABEL = "recharge_start_time";
    /**
     * 字典类型-可充值结束时间
     */
    String DICT_RECHARGE_END_TIME_LABEL = "recharge_end_time";
    /**
     * 字典类型-平台客户号
     */
    String DICT_PLATFORM_CUSTOMER_NUMBER_LABEL = "platform_customer_number";
    /**
     * 用户自定义模块redisKey前缀
     */
    String REDIS_KEY_USER_CUSTOM_MODULE = "user-custom-module";
    /**
     * 个人中心模块redisKey
     */
    String REDIS_KEY_PERSONAL_CENTER = "personal-center";
    /**
     * 模块点击量排序redisKey（默认每周一零点更新）
     */
    String REDIS_KEY_MODULE_VISIT_SORT = "module-visit-sort";
    /**
     * 模块分类展示redisKey
     */
    String REDIS_KEY_MODULE_DISPLAY_CLASSIFY = "module-display-classify";
    /**
     * 默认首页展示数
     */
    String DEFAULT_MODULE_DISPLAY = "default_module_display";

    /**
     * 生成precode时间格式
     */
    String TIME_FORMAT = "yyyyMMddHHmmss";

    interface Skip_TYPE{
        String SA_TOKEN = "satoken";
        String PRE_CODE = "precode";
    }
    /**
     * 用户服务类型 card:一卡通、mail:邮箱、auth:上网认证
     */
    String SERVICE_TYPE_CARD = "service_type_card";
    String SERVICE_TYPE_MAIL = "service_type_mail";
    String SERVICE_TYPE_AUTH = "service_type_auth";

    /**
     * 一卡通状态 0：正常 1：挂失
     */
    Integer CAMPUS_NORMAL = 0;
    Integer CAMPUS_LOSS = 1;

    /**
     * 数据字典：系统锁定
     */
    String SYS_LOCKED = "sys_locked";

    /**
     * 数据字典：系统锁定
     */
    String ADMIN_LOCKED = "admin_locked";

    /**
     * 数据来源 内网同步
     */
    String DATA_SOURCE_INTERNAL_NET = "data_source_internal_net";

    /**
     * 数据来源 管理员添加
     */
    String DATA_SOURCE_ADMIN_ADD = "data_source_admin_add";

    /**
     * “首页”分类
     */
    String SHOW_HOME_MODULE = "show_home_module";

    /**
     * 版本信息缓存key
     */
    String VERSION_KEY = "version_key";
    /**
     * 版本信息最新key
     */
    String VERSION_KEY_NEW = "version_key_new";

    /**
     * 用户是否查看最新版本key
     */
    String VERSION_NOTICE_KEY = "version_notice_key";

    /**
     * GET请求方式
     */
    String APPLICATION_JSON = "application/json";

    String PRIVATE_KEY = "9d8ce10cfcbd6e6a6a04847b758c314f53fded48ffe5382cf224dec874098885";

    /**
     * 用户配置项：首页展示模块数量
     */
    /**
     * redis空值
     */
    String REDIS_NULL = "null";
    String USER_CONFIG_HOME_MODULE_SIZE = "user_config_home_module_size";
    /**
     *
     */
    String ID_TOKEN = "id_token";
    /**
     * sql语句
     */
    String LIMIT = "limit 1";
    String LIMIT_FIVE = "limit 5";
    /**
     * 用户配置表中数据来源
     */
    String USER_CONFIG_DATA_SOURCE_USER = "用户配置";
    String USER_CONFIG_DATA_SOURCE_SYSTEM = "系统配置";

    /**
     * 公告类型 0：轮播 1：普通
     */
    Integer SYS_NOTICE_BANNER = 0;
    Integer SYS_NOTICE_NORMAL = 1;

    /**
     * 是否删除 0：未删除 1：已删除
     */
    Integer IS_DELETED_N = 0;
    Integer IS_DELETED_Y = 1;

    // 反馈类型
    String FEEDBACK_TYPE = "feedback_type";

    // 挂失解挂模块标识
    String REPORT_THE_LOSS = "report_the_loss";

    /**
     * 微门户服务
     */
    String OUTER_MICRO_PORTAL = "OUTER_MICRO_PORTAL";
    /**
     * 校园一卡通服务
     */
    String CAMPUS_CARD = "CAMPUS_CARD";
    /**
     * 正元一卡通
     */
    String EASY_TONG_CAMPUS = "EASY_TONG";
    /**
     * 民网上网认证服务
     */
    String ML_DAP = "ML_DAP";
    /**
     * 民网邮箱服务
     */
    String M_EMAIL = "M_EMAIL";

    /**
     * 用户缓存分布式锁
     */
    String REDIS_KEY_USER_CUSTOM_MODULE_LOCK = "user-custom-module-lock";
    /**
     * 模块分类展示分布式锁
     */
    String REDIS_KEY_MODULE_DISPLAY_CLASSIFY_LOCK = "module-display-classify-lock";
    /**
     * 模块点击量排序分布式锁
     */
    String REDIS_KEY_MODULE_VISIT_SORT_LOCK = "module-visit-sort-lock";
    /**
     * 个人中心模块分布式锁
     */
    String REDIS_KEY_PERSONAL_CENTER_LOCK = "personal-center-lock";

    /**
     * 登录次数key
     */
    String CODE_NUMBER_SUFFIX = "_number";

    /**
     * redis验证码key后缀
     */
    String CODE_SUFFIX = "_code";

    /**
     * 发送mq消息类型
     */
    String ACTION = "action";

    /**
     * 数据来源-内网
     */
    String ADD_USER_TYPE_NW = "内网";

    /**
     * 发送mq消息流水订阅
     */
    interface StreamSubscription {
        /**
         * 校园卡号
         */
        String CAMPUS_NUMBER = "campusNumber";
        /**
         * 订阅类型
         */
        String SUBSCRIBE_TYPE = "subscribeType";
        /**
         * 开始时间
         */
        String SUBSCRIBE_START_TIME = "subscribeStartTime";
        /**
         * 结束时间
         */
        String SUBSCRIBE_END_TIME = "subscribeEndTime";
    }

    /**
     * 发送mq消息挂失、解挂
     */
    interface CampusStatus {
        /**
         * 一卡通号
         */
        String CAMPUS_NUMBER = "campusNumber";
        /**
         * 状态
         */
        String CAMPUS_STATUS = "campusStatus";
        /**
         * 时间
         */
        String CAMPUS_TIME = "campusTime";
    }

    /**
     * 正元一卡通调用失败标识
     */
    interface INVOKE_EASY_TONG_ERROR {
        String value = "000";
        String name = "调用失败";
    }

    /**
     * 发送mq充值消息
     */
    interface CampusRecharge {
        /**
         * 订单号
         */
        String ORDER_NUMBER = "orderNumber";
        /**
         * 一卡通号
         */
        String CAMPUS_NUMBER = "campusNumber";
        /**
         * 金额
         */
        String MONEY = "money";
        /**
         * 交易时间
         */
        String PAY_TIME = "payTime";
        /**
         * 商户号
         */
        String MER_ID = "merId";
    }


    /**
     * 正元一卡通调用状态
     */
    interface EASY_STATUS {
        //待调用
        Integer STAY_CALL = 0;
        //成功
        Integer SUCCEED = 1;
        //失败
        Integer ERROR = 2;
    }
}
